local GGELUA = __gge.dozlibbase64[[
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
]]

local 支持库 = class(GGELUA)

function 支持库:取偏移(Hash)
    if self:取索引(Hash) then
        local l = self:取索引(Hash)
        return l.Offset,l.Size
    end
end
function 支持库:置注释(path)
    local ini = __gge.readfile(path)
    if ini then
        for line in ini:gmatch("([^\r\n]+)") do
            local param, value = line:match('^(.-)%s*=%s*(.+)$')
            if param and value then
                if not self:取索引(Hash) then
                    if self:取索引(tonumber(param, 16)) then
                        self:置索引(value,self:取索引(tonumber(param, 16)))
                    else
                        print("ID不存在",value,param,tonumber(param, 16))
                    end
                else
                    print("路径重复", self.路径,value)
                end
            end
        end
    else
        error("ini不存在！", level)
    end
    return self
end
function 支持库:取纹理(Hash)
    return require("gge纹理类")(self:读数据(Hash))
end
function 支持库:取精灵(Hash)
    return require("gge精灵类")(self:取纹理(Hash))
end
--[[
--索引结构
    typedef struct {
        uint32_t Hash; // 文件的名字散列
        uint32_t Offset; // 文件的偏移
        uint32_t Size; // 文件的大小
        uint32_t Spaces; // 文件的空间
    }WDF_FILELIST;

function 支持库:取索引(Hash)
    return 索引结构
end

function 支持库:置索引(Hash,索引)
    return self
end
function 支持库:遍历(Hash)
    return 迭代器
end
function 支持库:置内存大小(大小)
    在读取大文件的时候，内部会自动放大，如果想缩小或放大，调用此函数
    return self
end
--]]
return 支持库